package com.mdd.validate.order;

import lombok.Data;

/**
 * {@code @Description}
 * @Author 幻速
 * {@code @Date} 2023/10/30 19:40
 **/
@Data
public class TradeOrderInfo {
    /**
     * String	必选	64
     *     支付宝交易号
     * 2018061021001004680073956707
     */
   private String trade_no;
    /**
     * String	可选	64
     *     原始业务请求单号。如对某一次退款进行履约时，该字段传退款时的退款请求号
     *             HZ01RF001
     */
    private String orig_request_no;
    /**
     * String	必选	64
     *     外部请求号，商家自定义。标识一笔交易多次请求，同一笔交易多次信息同步时需要保证唯一。
     *     HZ01RF001
     */
    private String out_request_no;
    /**
     * String	必选	64
     *     交易信息同步对应的业务类型，具体值与支付宝约定；
     *     信用授权场景下传CREDIT_AUTH
     *             信用代扣场景下传CREDIT_DEDUCT
     *     CREDIT_AUTH
     */
    private String biz_type;
    /**
     * String	可选	2018
     *     商户传入同步信息，具体值要和支付宝约定；用于芝麻信用租车、单次授权等信息同步场景，格式为json格式。
     *     状态枚举如下：
     * <p>
     *     COMPLETE：同步用户已履约
     *     适用场景：发起扣款后，芝麻生成待履约记录，如果用户通过其他方式完成订单支付，请反馈该状态，芝麻将完结待履约记录对用户形成一条良好履约记录；
     * <p>
     *     CLOSED： 同步履约已取消
     *     适用场景：发起扣款后，芝麻生成待履约记录，如果发现该笔扣款无效需要取消，请反馈该状态，芝麻将取消用户待履约记录；
     * <p>
     *     VIOLATED： 用户已违约
     *     适用场景：如果用户在约定时间（具体根据行业约定，有一定宽限期）内未完成订单支付，反馈该状态，芝麻将对用户记录一条负面记录，请谨慎使用；
     *     {"status":"COMPLETE"}
     */
    private OrderBizInfo order_biz_info;
    @Data
    public static class OrderBizInfo{
        private String status;
    }
}
